#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
# include <netinet/in.h>

#define BACKLOG 5

int PUERTO=45559;

typedef struct {
	pid_t pid;
	char buffer[1000];
	int num_regi;
} t_mensaje;

int maine(void)
{		
	int caller_socket;
	t_mensaje message;
	
	/** Creo un socket de escucha. */
	caller_socket = socket(AF_INET, SOCK_STREAM, 0);
	
	/** Creo una estructura para indicar por que red y puerto voy a escuchar los pedidos. */
	struct sockaddr_in listen_address;		//Dirreccion de escucha.
	
	listen_address.sin_family 		= AF_INET;  
	listen_address.sin_port 		= htons(PUERTO);  					// Número de puerto donde recibirá paquetes el programa  
	listen_address.sin_addr.s_addr  = inet_addr ("10.0.2.15");	// IP por la que recibirá paquetes el programa  
	
	/** Realizo la conexion del cliente con el servidor. */
	connect(caller_socket, (struct sockaddr *) &listen_address, sizeof(struct sockaddr));
	
	
	message.pid=getpid();
	
	printf("\nIngrese palabras a enviar: ");
	gets(message.buffer);
		
	send(caller_socket, &message, sizeof(message), 0);
	
	recv(caller_socket, &message, sizeof(message), 0);
	
	printf("%s\n",message.buffer);

	close(caller_socket);
	
	return 0;
}
